package com.px.auditRecord.service;

import java.util.List;
import com.px.auditRecord.domain.AuditBlackWhite;
import com.px.auditRecord.domain.AuditRecordDrone;
import com.px.auditRecord.vo.BlackWhiteDroneVo;
import com.px.system.domain.FlightUser;

/**
 * 黑白名单控制Service接口
 * 
 * @author WRJ
 * @date 2024-08
 */
public interface IAuditBlackWhiteService 
{
    /**
     * 查询黑白名单控制
     * 
     * @param id 黑白名单控制主键
     * @return 黑白名单控制
     */
    public AuditBlackWhite selectAuditBlackWhiteById(Long id);

    /**
     * 查询黑白名单控制列表
     * 
     * @param auditBlackWhite 黑白名单控制
     * @return 黑白名单控制集合
     */
    public List<AuditBlackWhite> selectAuditBlackWhiteList(AuditBlackWhite auditBlackWhite);

    /**
     * 新增黑白名单控制
     * 
     * @param auditBlackWhite 黑白名单控制
     * @return 结果
     */
    public int insertAuditBlackWhite(AuditBlackWhite auditBlackWhite);

    /**
     * 修改黑白名单控制
     * 
     * @param auditBlackWhite 黑白名单控制
     * @return 结果
     */
    public int updateAuditBlackWhite(AuditBlackWhite auditBlackWhite);

    /**
     * 批量删除黑白名单控制
     * 
     * @param ids 需要删除的黑白名单控制主键集合
     * @return 结果
     */
    public int deleteAuditBlackWhiteByIds(Long[] ids);

    /**
     * 删除黑白名单控制信息
     * 
     * @param id 黑白名单控制主键
     * @return 结果
     */
    public int deleteAuditBlackWhiteById(Long id);

    List<BlackWhiteDroneVo> selectForRecordDroneList(BlackWhiteDroneVo dronekVo);

    List<?> selectAccountUserListMap(FlightUser flightUser);

    List<AuditRecordDrone> selectDroneList(AuditRecordDrone auditRecordDrone);

    List<?> selectFlightUserListMap(FlightUser flightUser);
}
